package com.crm.controller;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.crm.annotation.SystemServiceLog;
import com.crm.model.SysAddress;
import com.crm.service.SysAddressService;
import com.crm.util.AopConfig;
import com.crm.util.ResponseUtil;
import com.github.pagehelper.Page;

/**
 * 区域
 * @author zhaoyulong
 *
 */
@Controller
@RequestMapping("/dictionary")
public class SysDictionaryController {
	
	@Autowired
	private SysAddressService sysAddressService;
	/**
	 * 
	 * @Description : 区域页跳转
	 * @author zealot
	 * @param @return
	 * @return String
	 * @version 创建时间 : 2016年11月11日 下午2:35:11
	 * @thorws
	 */
	@RequestMapping("/index")
	public String index(){
		return "sysconf/dictionary/dictionary";
	}
	
	/**
	 * 
	 * @Description : 加载数据
	 * @author zealot
	 * @param @param rp
	 * @param @param sysUser
	 * @param @param response
	 * @param @param request
	 * @return void
	 * @version 创建时间 : 2016年11月11日 下午2:34:56
	 * @thorws
	 */
	@RequestMapping("/load")
	public void load(Page<SysAddress> page,SysAddress address,HttpServletRequest request,HttpServletResponse response){
		Page<SysAddress> list = (Page<SysAddress>) sysAddressService.selectAll(page, address);
		ResponseUtil.resultPage(response,request,list);
	}
	
	/**
	 * 
	 * @Description : 状态维护
	 * @author zealot
	 * @param @param record
	 * @param @return
	 * @return Map<String,Object>
	 * @version 创建时间 : 2016年11月11日 下午4:54:30
	 * @thorws
	 */
	@SystemServiceLog(description=AopConfig.ADDRESS+AopConfig.UPDATE+AopConfig.TO,type=AopConfig.UPDATE)
	@RequestMapping("/updateRecord")
	@ResponseBody
	public Map<String, Object> updateRecord(SysAddress record){
		
		Map<String, Object> map = new HashMap<>();
		
		sysAddressService.updateByPrimaryKey(record);
		
		map.put("status", "success");
		map.put("msg", "修改成功！");
		
		return map;
	}
	
	/**
	 * 
	 * @Description : 添加信息
	 * @author zealot
	 * @param @param sysAddress
	 * @param @return
	 * @return Map<String,Object>
	 * @version 创建时间 : 2016年11月12日 上午11:52:31
	 * @thorws
	 */
	@SystemServiceLog(description=AopConfig.ADDRESS+AopConfig.ADD+AopConfig.TO,type=AopConfig.ADD)
	@RequestMapping("/addNewDictionary")
	@ResponseBody
	public Map<String, Object> addNewDictionary(SysAddress sysAddress){
		Map<String, Object> map = new HashMap<>();
		
		List<SysAddress> list =  sysAddressService.selectByUs(sysAddress);
		
		if(list!=null){
			if(list.size()!=0){
				map.put("status", "error");
				map.put("msg", "编号已存在");
				return map;
			}
		}
		
		sysAddressService.insert(sysAddress);
		
		map.put("status", "success");
		map.put("msg", "添加成功");
		
		return map;
	}
	
	
	/**
	 * 
	 * @Description : 删除
	 * @author zealot
	 * @param @param record
	 * @param @return
	 * @return Map<String,Object>
	 * @version 创建时间 : 2016年11月14日 上午9:11:09
	 * @thorws
	 */
	@SystemServiceLog(description=AopConfig.ADDRESS+AopConfig.DEL+AopConfig.TO,type=AopConfig.DEL)
	@RequestMapping("/deleteRecord")
	@ResponseBody
	public Map<String, Object> deleteRecord(SysAddress record){
		
		Map<String, Object> map = new HashMap<>();
		
		record.setDeleteMark(0);
		sysAddressService.updateByPrimaryKey(record);
		
		map.put("status", "success");
		map.put("msg", "删除成功！");
		
		return map;
	}
}
